<html>
<head><meta charset="utf-8"><title>lazy-norm2 · project-const-generics · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/index.html">project-const-generics</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/lazy-norm2.html">lazy-norm2</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="214345834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/lazy-norm2/near/214345834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/lazy-norm2.html#214345834">(Oct 23 2020 at 18:00)</a>:</h4>
<p>the reason <code>ConstKind::Param</code> works is fairly dodgy and, while not prone to unsoundness, still somewhat easy to trigger an ICE with.</p>
<p><em>edit: we currently do not supply constants with their parent generics but do allow <code>ConstKind::Param</code> which references them. Trying to use identity substitutions for this const then causes an ICE. We just never try to apply identity substitutions to constants which is why this works rn</em></p>



<a name="214345994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/lazy-norm2/near/214345994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/lazy-norm2.html#214345994">(Oct 23 2020 at 18:01)</a>:</h4>
<p>looking at the <code>lazy_normalization_consts</code> tracking issue and the way <code>min_const_generics</code> is implement, we should only be able to use the subset of lazy norm which is free of any (known) errors, as we eagerly forbid generic params during resolve</p>



<a name="214346187"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/lazy-norm2/near/214346187" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/lazy-norm2.html#214346187">(Oct 23 2020 at 18:03)</a>:</h4>
<p>so it might be possible to toggle both at the same time without having to deal with any of existing issues</p>



<a name="214347197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/lazy-norm2/near/214347197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/lazy-norm2.html#214347197">(Oct 23 2020 at 18:10)</a>:</h4>
<p>let me quickly try  this locally</p>



<a name="214347721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/lazy-norm2/near/214347721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/lazy-norm2.html#214347721">(Oct 23 2020 at 18:14)</a>:</h4>
<p>that's appealing</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>